<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML Table Class : CodeIgniter User Guide</title>

<style type='text/css' media='all'>@import url('../userguide.css');</style>
<link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />

<script type="text/javascript" src="../nav/nav.js"></script>
<script type="text/javascript" src="../nav/prototype.lite.js"></script>
<script type="text/javascript" src="../nav/moo.fx.js"></script>
<script type="text/javascript" src="../nav/user_guide_menu.js"></script>

<meta http-equiv='expires' content='-1' />
<meta http-equiv= 'pragma' content='no-cache' />
<meta name='robots' content='all' />
<meta name='author' content='ExpressionEngine Dev Team' />
<meta name='description' content='CodeIgniter User Guide' />

</head>
<body>

<!-- START NAVIGATION -->
<div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
<div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker_th.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
<div id="masthead">
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td><h1>คู่มือการใช้งาน CodeIgniter เวอร์ชั่น 1.7.2</h1></td>
<td id="breadcrumb_right"><a href="../toc.html">หน้าตารางเนื้อหา</a></td>
</tr>
</table>
</div>
<!-- END NAVIGATION -->


<!-- START BREADCRUMB -->
<table cellpadding="0" cellspacing="0" border="0" style="width:100%">
<tr>
<td id="breadcrumb">
<a href="http://codeigniter.in.th/">CodeIgniter.in.th</a> &nbsp;&#8250;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a> &nbsp;&#8250;&nbsp;
HTML Table Class
</td>
<td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.in.th/user_guide/" />ค้นหาคู่มือการใช้งาน&nbsp; <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" />&nbsp;<input type="submit" class="submit" name="sa" value="ค้นหา" /></form></td>
</tr>
</table>
<!-- END BREADCRUMB -->

<br clear="all" />


<!-- START CONTENT -->
<div id="content">


<h1>HTML Table Class</h1>

<p>คลาส Table มีฟังก์ชันให้คุณเรียกใช้งานสำหรับ สร้าง HTML Table อย่างอัตโนมัติจากอาเรย์หรือผลลัพธ์จากฐานข้อมูล</p>

<h2>เริ่มต้นใช้คลาส</h2>

<p>เหมือนคลาสอื่นๆของ CodeIgniter คลาส  Table   นั้นเริ่มต้นได้ในตัวบควมคุม(controller) โดยใช้ฟังก์ชัน <dfn>$this->load->library</dfn></p>

<code>$this->load->library('table');</code>
<p>เมื่อโหลดแล้วคุณสามารถใช้ออบเจ็คตารางได้โดยการใช้ <dfn>$this-&gt;encrypt</dfn></p>


<h2>ตัวอย่างการใช้งาน</h2>

<p>นี้คือตัวอย่างในการสร้างตารางจากอาเรย์หลายมิติ
ข้อสังเกตุว่าอาเรย์ตัวแรกนั้นจะกลายมาเป็นหัวตาราง (หรือคุณสามารถตั้งค่าหัวตารางของคุณเองได้ด้วยการใช้ฟังก์ชัน
<dfn>set_heading()</dfn> ซึ่งจะมีอธิบายฟังก์ชันอยู่ด้านล่าง)</p>

<code>
$this->load->library('table');<br />
<br />
$data = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('Name', 'Color', 'Size'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('Fred', 'Blue', 'Small'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('Mary', 'Red', 'Large'),<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('John', 'Green', 'Medium')	<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
echo $this->table->generate($data);</code>

<p>นี้คือตัวอย่างตารางที่ถูกสร้างมาจากผลลัพธ์ฐานข้อมูล คลาสตารางจะสร้างหัวตารางขึ้นเองจากชื่อตารางในฐานข้อมูล (หรือคุณสามารถตั้งค่าหัวตารางของคุณเองได้ด้วยการใช้ฟังก์ชัน
  <dfn>set_heading()</dfn> ซึ่งจะมีอธิบายฟังก์ชันอยู่ด้านล่าง)</p>

<code>
$this->load->library('table');<br />
<br />
$query = $this->db->query("SELECT * FROM my_table");<br />
<br />
echo $this->table->generate($query);		
</code>


<p>นี้คือตัวอย่างสำหรับการสร้างตารางโดยสามารถใส่พารามิเตอร์กี่พารามิเตอร์ก็ได้</p>

<code>
$this->load->library('table');<br />
<br />
$this->table->set_heading('Name', 'Color', 'Size');<br />
<br />
$this->table->add_row('Fred', 'Blue', 'Small');<br />
$this->table->add_row('Mary', 'Red', 'Large');<br />
$this->table->add_row('John', 'Green', 'Medium');<br />
<br />
echo $this->table->generate();		
</code>

<p>นี้คือตัวอย่างเหมือนอันก่อน แต่จะใช้ด้วยพารามิเตอ์เดียวด้วยการใช้อาเรย์แทน</p>

<code>
$this->load->library('table');<br />
<br />
$this->table->set_heading(array('Name', 'Color', 'Size'));<br />
<br />
$this->table->add_row(array('Fred', 'Blue', 'Small'));<br />
$this->table->add_row(array('Mary', 'Red', 'Large'));<br />
$this->table->add_row(array('John', 'Green', 'Medium'));<br />
<br />
echo $this->table->generate();		
</code>


<h2>เปลี่ยนรูปร่างลักษณะตาราง</h2>

<p>คลาสตารางยอมให้คุณตั้งค่า template ซึ่งคุณสามารถปรับเปลี่ยนดีไซน์ไปเป็นแบบที่คุณต้องการได้  นี้คือ template ตัวแรกเริ่ม</p>

<code>
$tmpl =  array (<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'table_open'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;table border="0" cellpadding="4" cellspacing="0">',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_row_start'&nbsp;&nbsp;&nbsp;=> '&lt;tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_row_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_cell_start'&nbsp;&nbsp;=> '&lt;th>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'heading_cell_end'&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/th>',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;td>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/td>',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_alt_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'row_alt_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/tr>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_alt_start'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;td>',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'cell_alt_end'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/td>',<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'table_close'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=> '&lt;/table>'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);<br />

<br />
$this->table->set_template($tmpl);
</code>

<p class="important"><strong>ข้อสังเกตุ:</strong>&nbsp; คุณจะสังเกตุได้ว่ามันมี 2 เซ็ทสำหรับบล็อคที่ขึ้นว่า "row" ใน template  สิ่งเหล้านี้ยอมให้คุณเปลี่ยนสีหรือดีไซน์แบบสลับกันสำหรับข้อมูลในแถว เช่น เราจะทำสีแดงสลับสีเท่า เป็นต้น</p>

<p>คุณไม่จำเป็นจะต้องใส่ template ให้ครบทุกส่วน ถ้าคุณต้องการแก้ไขเพียงบางส่วนคุณก็สามารถทได้ เหมือนในตัวอย่างต่อไปนี้เฉพาะการเปิดแท็กหัวตาราง จะเปลี่ยนเท่านั้น</p>

<code>
$tmpl =  array ( 'table_open'&nbsp;&nbsp;=> '&lt;table border="1" cellpadding="2" cellspacing="1" class="mytable">' );<br />

<br />
$this->table->set_template($tmpl);
</code>

<br />
<h1>ฟังก์ชันอ้างอิง</h1>

<h2>$this->table->generate()</h2>
<p>คืนค่าสตริงที่ถูกสร้าง  โดยคุณสามารถที่จะใส่พารามิเตอร์เข้าไปได้หนึ่งตัวซึ่งจะเป็นอาเรย์หรือผลลัพธ์จากฐานข้อมูลซึ่งเป็น object ก็ได้</p>

<h2>$this->table->set_caption()</h2>

<p>ยอมให้คุณใส่คำบรรยายของตารางได้</p>

<code>$this->table->set_caption('Colors');</code>

<h2>$this->table->set_heading()</h2>

<p>ยอมให้คุณตั้งค่าหัวตาราง โดยสามารถได้ทั้งแบบอาเรย์ แล้วแบบพารามิเตอร์ไม่จำกัด</p>

<code>$this->table->set_heading('Name', 'Color', 'Size');</code>
<code>$this->table->set_heading(array('Name', 'Color', 'Size'));</code>

<h2>$this->table->add_row()</h2>

<p>ยอมให้คุณเพิ่มแถวลงไปในตารางของคุณ  ซึ่งคุณสามารถใส่แบบอาเรย์หรือพารามิเตอร์ไม่จำกัดได้</p>

<code>$this->table->add_row('Blue', 'Red', 'Green');</code>
<code>$this->table->add_row(array('Blue', 'Red', 'Green'));</code>


<h2>$this->table->make_columns()</h2>

<p>ฟังก์ชันนี้รับอาเรย์มิติเดียวเป็นค่ารับและสร้างอาเรย์หลายมิติที่มีจำนวนความลึกขึ้นอยู่กับจำนวนช่อง (column) ที่กำหนด โดยจะยอมให้อาเรย์เดียวที่มีหลายค่าถูกแสดงผลเป็นตารางที่มีการกำหนดช่องตายตัวแล้ว ลองพิจารณาตัวอย่างนี้</p>

<code>
$list = array('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve');<br />
<br />
$new_list = $this->table->make_columns($list, 3);<br />
<br />
$this->table->generate($new_list);<br />
<br />
// สร้างตารางจาก template เริ่มต้น<br />
<br />
&lt;table border="0" cellpadding="4" cellspacing="0"&gt;<br />
&lt;tr&gt;<br />
&lt;td&gt;one&lt;/td&gt;&lt;td&gt;two&lt;/td&gt;&lt;td&gt;three&lt;/td&gt;<br />
&lt;/tr&gt;&lt;tr&gt;<br />
&lt;td&gt;four&lt;/td&gt;&lt;td&gt;five&lt;/td&gt;&lt;td&gt;six&lt;/td&gt;<br />
&lt;/tr&gt;&lt;tr&gt;<br />
&lt;td&gt;seven&lt;/td&gt;&lt;td&gt;eight&lt;/td&gt;&lt;td&gt;nine&lt;/td&gt;<br />
&lt;/tr&gt;&lt;tr&gt;<br />
&lt;td&gt;ten&lt;/td&gt;&lt;td&gt;eleven&lt;/td&gt;&lt;td&gt;twelve&lt;/td&gt;&lt;/tr&gt;<br />
&lt;/table&gt;</code>



<h2>$this->table->set_template()</h2>

<p>เป็นการเปลี่ยน template ซึ่งคุณสามารถใส่ทั้งหมดหรือบางส่วนของ template ก็ได้</p>

<code>
$tmpl =  array ( 'table_open'&nbsp;&nbsp;=> '&lt;table border="1" cellpadding="2" cellspacing="1" class="mytable">' );<br />

<br />
$this->table->set_template($tmpl);
</code>


<h2>$this->table->set_empty()</h2>

<p>ให้คุณตั้งค่า default value สำหรับใช้ในตารางใดๆที่มีค่าว่าง ซึ่งคุณอาจจะตั้งเป็น non-breaking space ดังตัวอย่าง</p>

<code>
$this->table->set_empty("&amp;nbsp;");
</code>

<h2>$this->table->clear()</h2>

<p>ยอมให้คุณล้างหัวตารางและข้อมูลในแถวทั้งหมด  ซึ่งถ้าคุณต้องการโชว์หลายตารางซึ่งเป็นข้อมูลที่ต่างกันคุณควรจะเรียกฟังก์ชันนี้หลังจากตารางแต่ละอันได้ถูกสร้างขึ้นไปแล้ว เพื่อที่จะได้ล้างข้อมูลทิ้งก่อนที่จะมีการสร้างอันถัดไป ตัวอย่างเช่น</p>

<code>
$this->load->library('table');<br />
<br />
$this->table->set_heading('Name', 'Color', 'Size');<br />
$this->table->add_row('Fred', 'Blue', 'Small');<br />
$this->table->add_row('Mary', 'Red', 'Large');<br />
$this->table->add_row('John', 'Green', 'Medium');<br />
<br />
echo $this->table->generate();<br />
<br />
<kbd>$this->table->clear();</kbd><br />
<br />
$this->table->set_heading('Name', 'Day', 'Delivery');<br />
$this->table->add_row('Fred', 'Wednesday', 'Express');<br />
$this->table->add_row('Mary', 'Monday', 'Air');<br />
$this->table->add_row('John', 'Saturday', 'Overnight');<br />
<br />
echo $this->table->generate();
</code>

</div>
<!-- END CONTENT -->


<div id="footer">
<p>
หัวข้ออันก่อน:&nbsp;<a href="ftp.html">&nbsp;FTP Class</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="#top">บนสุดของหน้า</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
<a href="../index.html">หน้าหลักคู่มือการใช้งาน</a>&nbsp;&nbsp;&nbsp;&middot;&nbsp;&nbsp;
หัวข้อถัดไป:&nbsp;&nbsp;<a href="image_lib.html">Image Manipulation Class</a>
</p>
<p>คู่มือการใช้งาน CodeIgniter นี้ได้ทำการคัดลอกและดัดแปลงจาก <a href="http://codeigniter.com/user_guide/">CodeIgniter User Guide</a></p><p>
<a href="http://codeigniter.com">CodeIgniter</a>
 ·  Copyright © 2006-2009  · 
<a href="http://ellislab.com/">Ellislab, Inc.</a>
</p>
</div>

</body>
</html>